<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:t="http://myfaces.apache.org/tomahawk" 
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <title>Cadastro de Cliente</title>
    </h:head>
    <ui:decorate template="/tema/padrao.xhtml">
        <ui:define name="centro">
            <t:saveState value="#{clienteBean.cliente}" />
            <t:saveState value="#{clienteBean.estado}" />
            <t:saveState value="#{clienteBean.estados}" />
            <t:saveState value="#{clienteBean.cidades}" />
            <h:form id="formCliente">
                <p:panel header="Gestão de Cliente" >
                    <h:panelGrid columns="3" >
                        <h:outputLabel value="Status do Funcionário: " />
                        <h:selectOneMenu id="ativo" 
                                         value="#{clienteBean.cliente.ativo}"
                                         required="true"
                                         requiredMessage="Campo obrigatório" >
                            <f:selectItem itemValue="#{true}" itemLabel="Ativo" />
                            <f:selectItem itemValue="#{false}" itemLabel="Inativo" />
                        </h:selectOneMenu>
                        <p:message for="ativo" />

                        <h:outputLabel value="Nome: *" />
                        <p:inputText id="nome" value="#{clienteBean.cliente.nome}" required="true" requiredMessage="Campo obrigatório" />
                        <p:message for="nome" />

                        <h:outputLabel value="CPF: *" />
                        <p:inputMask id="cpf" mask="999.999.999-99" value="#{clienteBean.cliente.cpf}" required="true" requiredMessage="Campo obrigatório" converter="converterCnpjCpf" validator="validadorCPF" />
                        <p:message for="cpf" />

                        <h:outputLabel value="Endereço: *" />
                        <p:inputText id="rua" value="#{clienteBean.cliente.rua}" required="true" requiredMessage="Campo obrigatório" />
                        <p:message for="rua" />

                        <h:outputLabel value="Número: " />
                        <p:inputText id="numero" value="#{clienteBean.cliente.numero}" />
                        <p:message for="numero" />

                        <h:outputLabel value="Bairro: " />
                        <p:inputText id="bairro" value="#{clienteBean.cliente.bairro}" />
                        <p:message for="bairro" />

                        <h:outputLabel value="CEP: " />
                        <p:inputMask id="cep" mask="99999-999" value="#{clienteBean.cliente.cep}" />
                        <p:message for="cep" />

                        <h:outputLabel value="Estado: *" />
                        <h:selectOneMenu id="estado" value="#{clienteBean.estado}"  requiredMessage="Campo obrigatório" converter="converterEstado" >
                            <f:selectItem itemLabel="Selecione" />
                            <f:selectItems value="#{clienteBean.estados}" var="e" itemValue="#{e}" itemLabel="#{e.nome}" />
                            <f:ajax render="cidade" event="change" listener="#{clienteBean.listaCidades}" />
                        </h:selectOneMenu>
                        <p:message for="estado" />

                        <h:outputLabel value="Cidade: *" />
                        <h:selectOneMenu id="cidade" value="#{clienteBean.cliente.cidade}"  requiredMessage="Campo obrigatório" converter="converterCidade" >
                            <f:selectItem itemLabel="Selecione" />
                            <f:selectItems value="#{clienteBean.cidades}" var="c" itemValue="#{c}" itemLabel="#{c.nome}" />
                        </h:selectOneMenu>
                        <p:message for="cidade" />

                        <p:commandButton value="Salvar"
                                         actionListener="#{clienteBean.salvar}"
                                         update="formCliente" />
                        <p:commandButton value="Cancelar"
                                         immediate="true"
                                         action="/gestao/clienteLista.jsf"
                                         ajax="false" />
                    </h:panelGrid>
                </p:panel>
            </h:form>
        </ui:define>
    </ui:decorate>
</html>
